|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
public interface TraversalDescription
Represents a description of a traversal. Here the rules and behaviour of
a traversal is described. A traversal description is immutable and each
method which adds or modifies the behaviour returns a new instances which
includes the new modification, leaving the instance which returns the new
instance intact.
When all the rules and behaviours have been described the traversal is
started using traverse(Node) where a starting node is supplied.
The returned Traverser is then used to step through the graph,
returning the positions matching the rules.
| Method Summary | |
|---|---|
TraversalDescription |
breadthFirst()
A convenience method for order(BranchOrderingPolicy)
where a "preorder breadth first" selector is used. |
TraversalDescription |
depthFirst()
A convenience method for order(BranchOrderingPolicy)
where a "preorder depth first" selector is used. |
TraversalDescription |
expand(RelationshipExpander expander)
Sets the RelationshipExpander as the expander of relationships,
discarding all previous calls to
relationships(RelationshipType) and
relationships(RelationshipType, Direction). |
TraversalDescription |
filter(Predicate<Path> filter)
Sets the return filter to use, i.e. |
TraversalDescription |
order(BranchOrderingPolicy selector)
Sets the BranchOrderingPolicy to use. |
TraversalDescription |
prune(PruneEvaluator pruning)
Adds pruning to the list of PruneEvaluators which
are used to prune the traversal. |
TraversalDescription |
relationships(RelationshipType type)
Adds type to the list of relationship types to traverse. |
TraversalDescription |
relationships(RelationshipType type,
Direction direction)
Adds type to the list of relationship types to traverse in
the given direction. |
Traverser |
traverse(Node startNode)
Starts traversing from startNode based on all the rules and
behaviour in this description. |
TraversalDescription |
uniqueness(Uniqueness uniqueness)
Sets the Uniqueness to use. |
TraversalDescription |
uniqueness(Uniqueness uniqueness,
Object parameter)
Sets the Uniqueness to use. |
| Method Detail |
|---|
TraversalDescription uniqueness(Uniqueness uniqueness)
Uniqueness to use.
uniqueness - the Uniqueness to use.
TraversalDescription uniqueness(Uniqueness uniqueness,
Object parameter)
Uniqueness to use. It also accepts an extra parameter
which is obligatory for certain uniqueness's, f.ex
Uniqueness.NODE_RECENT.
uniqueness - the Uniqueness to use.parameter - the extra parameter to go with the uniqueness.
TraversalDescription prune(PruneEvaluator pruning)
pruning to the list of PruneEvaluators which
are used to prune the traversal. The semantics for many prune evaluators
is that if any one of the added prune evaluators returns true
it's considered OK to prune there.
pruning - the PruneEvaluator to add to the list of prune
evaluators to use.
TraversalDescription filter(Predicate<Path> filter)
Path from the start node
of the traversal to the current node. The current node is the
Path.endNode() of the path.
filter - the Predicate to use as filter.
TraversalDescription order(BranchOrderingPolicy selector)
BranchOrderingPolicy to use. A BranchSelector
is the basic decisions in the traversal of "where to go next".
Examples of default implementations are "breadth first" and
"depth first", which can be set with convenience methods
breadthFirst() and depthFirst().
selector - the factory which creates the BranchSelector
to use with the traversal.
TraversalDescription depthFirst()
order(BranchOrderingPolicy)
where a "preorder depth first" selector is used. Positions which are
deeper than the current position will be returned before positions on
the same depth. See http://en.wikipedia.org/wiki/Depth-first_search
TraversalDescription breadthFirst()
order(BranchOrderingPolicy)
where a "preorder breadth first" selector is used. All positions with
the same depth will be returned before advancing to the next depth.
See http://en.wikipedia.org/wiki/Breadth-first_search
TraversalDescription relationships(RelationshipType type)
type to the list of relationship types to traverse.
There's no priority or order in which types to traverse.
type - the RelationshipType to add to the list of types
to traverse.
TraversalDescription relationships(RelationshipType type,
Direction direction)
type to the list of relationship types to traverse in
the given direction. There's no priority or order in which
types to traverse.
type - the RelationshipType to add to the list of types
to traverse.direction - the Direction to traverse this type of
relationship in.
TraversalDescription expand(RelationshipExpander expander)
RelationshipExpander as the expander of relationships,
discarding all previous calls to
relationships(RelationshipType) and
relationships(RelationshipType, Direction).
expander - the RelationshipExpander to use.
Traverser traverse(Node startNode)
startNode based on all the rules and
behaviour in this description. A Traverser is returned which
is used to step through the graph and getting results back.
startNode - the Node to start the traversal from.
Traverser used to step through the graph and to
get results from.
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||